+Sat Feb 20 20:59:25 1999 Tim Janik <timj@gtk.org>
+
+ * gtk/gtkwindow.c: hm, set_modal doesn't really work with random
+ gtk_grab_add/gtk_grab_remove calls. either the window user uses
+ the set_modal interface or he places grab_add/grab_remove on his own.
+ (gtk_window_set_modal): enforce modality state either way.
+ (gtk_window_hide): revert previous change.
+
Sat Feb 20 20:04:48 1999 Tim Janik <timj@gtk.org>
* gtk/gtkcalendar.c (gtk_calendar_button_press): increment years and
+Sat Feb 20 20:59:25 1999 Tim Janik <timj@gtk.org>
+
+ * gtk/gtkwindow.c: hm, set_modal doesn't really work with random
+ gtk_grab_add/gtk_grab_remove calls. either the window user uses
+ the set_modal interface or he places grab_add/grab_remove on his own.
+ (gtk_window_set_modal): enforce modality state either way.
+ (gtk_window_hide): revert previous change.
+
Sat Feb 20 20:04:48 1999 Tim Janik <timj@gtk.org>
* gtk/gtkcalendar.c (gtk_calendar_button_press): increment years and
+Sat Feb 20 20:59:25 1999 Tim Janik <timj@gtk.org>
+
+ * gtk/gtkwindow.c: hm, set_modal doesn't really work with random
+ gtk_grab_add/gtk_grab_remove calls. either the window user uses
+ the set_modal interface or he places grab_add/grab_remove on his own.
+ (gtk_window_set_modal): enforce modality state either way.
+ (gtk_window_hide): revert previous change.
+
Sat Feb 20 20:04:48 1999 Tim Janik <timj@gtk.org>
* gtk/gtkcalendar.c (gtk_calendar_button_press): increment years and
+Sat Feb 20 20:59:25 1999 Tim Janik <timj@gtk.org>
+
+ * gtk/gtkwindow.c: hm, set_modal doesn't really work with random
+ gtk_grab_add/gtk_grab_remove calls. either the window user uses
+ the set_modal interface or he places grab_add/grab_remove on his own.
+ (gtk_window_set_modal): enforce modality state either way.
+ (gtk_window_hide): revert previous change.
+
Sat Feb 20 20:04:48 1999 Tim Janik <timj@gtk.org>
* gtk/gtkcalendar.c (gtk_calendar_button_press): increment years and
+Sat Feb 20 20:59:25 1999 Tim Janik <timj@gtk.org>
+
+ * gtk/gtkwindow.c: hm, set_modal doesn't really work with random
+ gtk_grab_add/gtk_grab_remove calls. either the window user uses
+ the set_modal interface or he places grab_add/grab_remove on his own.
+ (gtk_window_set_modal): enforce modality state either way.
+ (gtk_window_hide): revert previous change.
+
Sat Feb 20 20:04:48 1999 Tim Janik <timj@gtk.org>
* gtk/gtkcalendar.c (gtk_calendar_button_press): increment years and
+Sat Feb 20 20:59:25 1999 Tim Janik <timj@gtk.org>
+
+ * gtk/gtkwindow.c: hm, set_modal doesn't really work with random
+ gtk_grab_add/gtk_grab_remove calls. either the window user uses
+ the set_modal interface or he places grab_add/grab_remove on his own.
+ (gtk_window_set_modal): enforce modality state either way.
+ (gtk_window_hide): revert previous change.
+
Sat Feb 20 20:04:48 1999 Tim Janik <timj@gtk.org>
* gtk/gtkcalendar.c (gtk_calendar_button_press): increment years and
+Sat Feb 20 20:59:25 1999 Tim Janik <timj@gtk.org>
+
+ * gtk/gtkwindow.c: hm, set_modal doesn't really work with random
+ gtk_grab_add/gtk_grab_remove calls. either the window user uses
+ the set_modal interface or he places grab_add/grab_remove on his own.
+ (gtk_window_set_modal): enforce modality state either way.
+ (gtk_window_hide): revert previous change.
+
Sat Feb 20 20:04:48 1999 Tim Janik <timj@gtk.org>
* gtk/gtkcalendar.c (gtk_calendar_button_press): increment years and
g_return_if_fail (window != NULL);
g_return_if_fail (GTK_IS_WINDOW (window));
- modal = modal != FALSE;
+ window->modal = modal != FALSE;
- /* If the widget was showed already, adjust it's grab state */
- if (GTK_WIDGET_VISIBLE (window) && window->modal != modal)
- {
- if (modal)
- gtk_grab_add (GTK_WIDGET (window));
- else
- gtk_grab_remove (GTK_WIDGET (window));
- }
-
- window->modal = modal;
+ /* adjust desired modality state */
+ if (GTK_WIDGET_VISIBLE (window) && window->modal)
+ gtk_grab_add (GTK_WIDGET (window));
+ else
+ gtk_grab_remove (GTK_WIDGET (window));
}
void
GTK_WIDGET_UNSET_FLAGS (widget, GTK_VISIBLE);
gtk_widget_unmap (widget);
- window->modal = GTK_WIDGET_HAS_GRAB (window);
-
if (window->modal)
gtk_grab_remove (widget);
}